package dletc.Collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class Demo03 {

	public static void main(String[] args) {
	
		Collection<String> coll = new ArrayList<String>();
		
		coll.add("JAVA");
		coll.add("||");
		coll.add("CSS");
		coll.add("||");
		coll.add("PHP");
		coll.add("||");
		coll.add("JAVAEE");
		coll.add("||");
		coll.add("JAVASE");
		System.out.println(coll);
		
		//需求：去掉|| 结果显示为 [JAVA,CSS,PHP,JAVAEE,JAVASE]
		//不能removeALL()
		/**
		 * 拓展： 使用迭代器遍历集合的时候，不允许做其他操作；
		 *      会发生ConcurrentModificationException 并发异常
		 *      原因：集合结构发生改变，没有重新获取迭代器。
		 *  解决方法： 
		 *     
		 *      可以使用迭代器里自带的移除方法 ：iterator.remove()
		 */
		
		/*Iterator<String> iterator = coll.iterator();
		
		while(iterator.hasNext()){
			
			String s = iterator.next();
			
			if(s.equals("||")){
				
				//coll.remove(s);//移除ConcurrentModificationException并且异常
				iterator.remove();////删除的一定是迭代器指向的对象元素，且会删除集合中相应元素。
			}
		}*/

		ArrayList<String> strings = new ArrayList<>();
		strings.add("||");
		boolean b = coll.removeAll(strings);
		if(b){
			System.out.println(coll);
		}
		System.out.println(coll);
		

	}

}
